const superagent = require('superagent'); // superAgent 是以 utf8 去取数据
require('superagent-charset')(superagent); // 插件，可以指定获取数据格式

/**
 * 通用爬虫方法
 * @param url 爬取地址
 * @param cb 会调参数
 * @param gbk 是否gbk编码
 * @return Promise
 */
export default function(url, cb, gbk) {
    if (!gbk) {
        return new Promise(((resolve, reject) => {
            superagent
                .get(url)
                .end((err, res) => {
                    if (err) {
                        reject('拉取信息错误');
                    } else {
                        resolve(cb(res.text));
                    }
                });
        }));
    } else {
        return new Promise(((resolve, reject) => {
            superagent
                .get(url)
                .charset('gbk')
                .end((err, res) => {
                    if (err) {
                        reject('拉取信息错误');
                    } else {
                        resolve(cb(res.text));
                    }
                });
        }));
    }
}

export function spider1(url, gbk) {
    if (!gbk) {
        return new Promise(((resolve, reject) => {
            superagent
                .get(url)
                .end((err, res) => {
                    if (err) {
                        reject('拉取信息错误');
                    } else {
                        resolve(res.text);
                    }
                });
        }));
    } else {
        return new Promise(((resolve, reject) => {
            superagent
                .get(url)
                .charset('gbk')
                .end((err, res) => {
                    if (err) {
                        reject('拉取信息错误');
                    } else {
                        resolve(res.text);
                    }
                });
        }));
    }
}
